Voorbeeld van de instructie Implements

In het volgende voorbeeld wordt de instructie Implements gebruikt om een set declaraties beschikbaar te maken voor meerdere klassen. Door de declaraties via de instructie Implements te delen, hoeft geen enkele klasse zelf declaraties te maken.

Veronderstel dat er twee formulieren zijn. Het formulier Selectie heeft twee knoppen, Klantgegevens en Leveranciersgegevens. Als de gebruiker naam- en adresgegevens voor een klant of een leverancier wilt typen, klikt deze op de knop Klant of op de knop Leverancier van het formulier Selectie. Vervolgens typt de gebruiker de naam en het adres in het formulier Gegevensinvoer. Het formulier Gegevensinvoer heeft twee tekstvelden: Naam en Adres.

De volgende programmacode voor de gedeelde declaraties bevindt zich in een klasse met de naam PersoonlijkeGegevens:

Public Name As String
Public Address As String

De programmacode die de klantgegevens ondersteunt, bevindt zich in een klassenmodule met de naam Klant:

Implements PersoonlijkeGegevens
Private Property Get PersonalData_Address() As String
PersonalData_Address = "AdresKlant"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Address = "NaamKlant"
End Property

De programmacode die de leveranciersgegevens ondersteunt, bevindt zich in een klassenmodule met de naam Leverancier:

Implements PersoonlijkeGegevens

Private Property Get PersonalData_Address() As String
PersonalData_Address = "AdresLeverancier"
End Property

Private Property Let PersonalData_Address(ByVal RHS As String)
'
End Property

Private Property Let PersonalData_Name(ByVal RHS As String)
'
End Property

Private Property Get PersonalData_Name() As String
PersonalData_Address = "NaamLeverancier"
End Property

De volgende programmacode ondersteunt het formulier Selectie:

Private cust As New Customer
Private sup As New Supplier

Private Sub Opdracht1_Click()
Dim frm2 As New Form2
    Set frm2.PD = cust
    frm2.Show 1
End Sub

Private Sub Command2_Click()
Dim frm2 As New Form2
    Set frm2.PD = sup
    frm2.Show 1
End Sub

De volgende programmacode ondersteunt het formulier Gegevensinvoer:

Private m_pd As PersonalData
Private Sub Form_Load()
    With m_pd
        Text1 = .Naam
        Text2 = .Adres
    End With
End Sub
Public Property Set PD(Data As PersonalData)
    Set m_pd = Data
End Property